package com.opal.modules.costReportForm.mapper.mysql;


import com.opal.modules.costReportForm.entity.CostReport;
import com.opal.modules.costReportForm.entity.CostReportCondition;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Component;

import java.util.List;

@Component
public interface CostReportMapper {

    int deleteByPrimaryKey(String costReportId);

    int insertSelective(CostReport record);

    /**
     * 根据成本单据号查询成本报告
     * @param costReportId
     * @return
     */
    CostReport selectByPrimaryKey(String costReportId);

    int updateByPrimaryKeySelective(CostReport record);

    List<String> getcostReportId(String value);

    /**
     * 自定义方法：根据条件分页查询
     * @param costReport
     * @param param1 分页参数一
     * @param param2 分页参数二
     * @return
     */
    List<CostReportCondition> pagingQueryCostReport(@Param("costReport") CostReportCondition costReport, @Param("param1") Integer param1, @Param("param2") Integer param2);

    /**
     * 自定义方法：根据条件统计数据
     * @param costReport
     * @return
     */
    int queryCostReportCount(CostReportCondition costReport);

    /**
     * 自定义方法：判断给予字段不能为null，若是null进行删除
     * @return
     */
    int deleteFieldIsNull();

    /**
     * 自定义方法：判断本次的成本报告单据号若有 没有填写的必填项就删除掉
     * @param costReportId
     * @return
     */
    int deleteFieldIsNullByCostReportId(String costReportId);
}